Conventional personal computer systems generally adopt a conventional tree-structure data storage mode or a “directory tree folder+file” structure for file storage. An example of such file storage structure implementation may be found in a Network File System (NFS), which an administrator configures a file to follow a hierarchy naming structure such as: drive\directory\parent folder\child folder\file. Such hierarchy arrangement sets up a way to index a file and makes possible file management.
For example, FIG. 1 illustrates an example of a prior art “directory tree folder+file” structure (10) of a storage system (11). The folders (12-14) at the top layer may be referred to as root directories, and the corresponding sub-folders (15-20) under the root directories may be referred to as sub-directories. Each of the corresponding sub-folders (15-20) is capable of storing more respective sub-folder lists (15a, 17a) and file lists (19a) (if no sub-folder exists under a root directory). Accordingly, the various folders (12-14), sub-folders (15-20), sub-folder lists (15a, 17a) and file lists (19a) form a recursive data structure or file index.
FIG. 2 illustrates the aforementioned conventional tree-structure data storage mode, which data is stored using key-value databases (50). For example, the key-value data base may be set up to have each folder (51-53) (i.e., directory) being stored as a Folderkey, and a “value” is designated to include a sub-folder list (51a, 52a) (i.e., sub-directory) and a file list (51b, 52b) which belong to their respective current folder (51, 52). The respective “value” of a storage record is represented by an elliptical ring (61, 62) which corresponds to the respective Folderkey of folders (51, 52) on the left.
Therefore, when the number of folders or files of a user have been increased, data access performance may encounter bottlenecking at the bottom layer, especially for existing network file systems, such as QQ album, social network sites, network drives such as Skydrive for cloud storage and other applications. Such bottlenecking is often caused by writing to or accessing a large amount of data which exceeds a threshold value supported by the storage system. In addition, in the existing data storage structures, data distribution is uncontrollable, and key-value databases are routed based on keys. Consequently, different folderkeys must be written to different network storage modules, and the network storage modules are allocated using fixed rules without considering data storage expansion and specific requirements.